1
El Contrato ISA y el Estado Arquitectónico
AI031Lesson 3
00:00

El Arquitectura de Conjunto de Instrucciones (ISA) actúa como un nivel fundamental de abstracción y un contrato formal entre software y hardware. Mientras que los lenguajes de alto nivel como C ocultan la complejidad, el ISA expone el estado arquitectónico—la configuración precisa de los registros y la memoria del procesador.

1. El Estado Arquitectónico

Una CPU x86-64 define su estado mediante varios componentes clave:

  • Contador de Programa (%rip): Almacena la dirección de la siguiente instrucción.
  • Archivo de Registros Enteros: 16 registros generales (por ejemplo, %rax, %rbx) que almacenan valores de 64 bits.
  • Códigos de Condición: Banderas (ZF, SF, CF, OF) para el flujo de control.
  • Registros Vectoriales: Como por ejemplo registros YMM (256 bits) para operaciones SIMD.

2. Abstracción de Memoria

El código máquina ve la memoria como una enorme matriz direccionable por byte. Aunque x86-64 soporta direcciones virtuales de 64 bits, las implementaciones actuales suelen usar un espacio de direcciones de 48 bits ($2^{48}$ bytes). Clasificamos los tamaños de datos como Palabra (16 bits), Doble palabra (32 bits) y Cuádruple palabra (64 bits).

CPU (Estado)%rip (PC)Registros (%rax..)Códigos de CondiciónCONTRATO ISAmovq, ret, leaqMemoria Virtual0xFFFF... (Pila)0x0000... (Código)

3. Evolución y Compatibilidad

Impulsado por La Ley de Moore, Intel ha evolucionado desde el 8086 hasta Core i7 Haswell. El ISA asegura compatibilidad hacia atrás, permitiendo que el código máquina heredado se ejecute en hardware moderno con múltiples núcleos y hilo hiperparalelo.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>